package com.estate.common.core.domain.model.listing;

// Listing.java - 房源数据模型

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
public class ListingResp {
    private Integer id;
    private String url;
    @JsonProperty("video_url")
    private String videoUrl;
    @JsonProperty("emag_url")
    private String emagUrl;
    @JsonProperty("external_url")
    private String externalUrl;
    @JsonProperty("external_url2")
    private String externalUrl2;
    @JsonProperty("virtual_tour_url")
    private String virtualTourUrl;
    private List<TimeLine> timeline;
    @JsonProperty("listing_status")
    private String listingStatus;
    private List<Agent> agents;
    @JsonProperty("is_hidden")
    private Boolean isHidden;
    @JsonProperty("property_category")
    private String propertyCategory;
    private List<Image> images;
    @JsonProperty("listed_date")
    private String listedDate;
    @JsonProperty("on_market_date")
    private String onMarketDate;
    @JsonProperty("available_date")
    private String availableDate;
    @JsonProperty("updated_date")
    private String updatedDate;
    @JsonProperty("property_type")
    private String propertyType;
    private Feature features;
    private String description;
    @JsonProperty("inspection_times")
    private List<InspectionTime> inspectionTimes;
    private Price price;
    @JsonProperty("listing_method")
    private String listingMethod;
    private Rate rates;
    private Address address;
    @JsonProperty("lease_length_months")
    private Integer leaseLengthMonths;
}

